// 错误处理中间件
const errorHandler = (err, req, res, next) => {
  console.error('Error:', err);

  // 数据库错误
  if (err.code === 'ER_DUP_ENTRY') {
    return res.status(400).json({ message: '数据已存在' });
  }

  // JWT错误
  if (err.name === 'JsonWebTokenError') {
    return res.status(401).json({ message: '无效的访问令牌' });
  }

  if (err.name === 'TokenExpiredError') {
    return res.status(401).json({ message: '访问令牌已过期' });
  }

  // 验证错误
  if (err.name === 'ValidationError') {
    return res.status(400).json({ message: err.message });
  }

  // 默认错误
  res.status(500).json({ 
    message: process.env.NODE_ENV === 'production' ? '服务器内部错误' : err.message 
  });
};

module.exports = {
  errorHandler
};